package co.com.corbeta.utilidades;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

import org.apache.log4j.Logger;

/**
 * Clase que se encarga de realizar las operaciones que tiene que ver con los
 * archivos de propieades
 * 
 * @author Diego A. Galindo
 * @version 1.0 06/08/2014
 * @since 1.0 06/08/2014
 * */
public class PropiedadesUtilidad {
    // Logger del log4j
    private static Logger log = Logger.getLogger(PropiedadesUtilidad.class);

    /**
     * Metodo que se encarga de obtener un mapa con las propiedades de un
     * archivo properties especificado
     * 
     * @param rutaProperties
     *            String que conteine la ruta donde se encuentra el archivo
     *            properties
     * @return Map<Stgrin,String> mapa con las propieades que se encuentra
     *         dentro de el archivo properties que entra por parmetro
     * */
    public static Map<String, String> materializarPropieades(String ruta) {
	Properties archivoPropiedades = new Properties();
	try {
	    archivoPropiedades.load(new FileInputStream(ruta));
	    Map<String, String> propiedades = new HashMap<String, String>();

	    Enumeration<?> enumeradoKeys = archivoPropiedades.keys();
	    while (enumeradoKeys.hasMoreElements()) {
		String llave = (String) enumeradoKeys.nextElement();
		String valor = archivoPropiedades.getProperty(llave);
		propiedades.put(llave, valor);
	    }

	    return propiedades;
	} catch (IOException e) {
	    log.error("Error al abrir el archivo", e);
	    return null;
	}

    }

}
